MENTAL vs.
BLOCKCHAIN

“Blockchain: la tecnología que va a cambiar tu vida” (Guillermo Vega y Olivia López Bueno)

“Pienso que las redes descentralizadas será la siguientes gran ola de la tecnología” (Melanie Swan)

“Pienso que Bitcoin tiene el potencial de cambiar el mundo” (Peter Thiel)



La Tecnología Blockchain

La tecnología Blockchain (cadena de bloques) es una nueva tecnología que apareció en Enero de 2009 con la introducción del bitcoin (abreviada como BTC), una criptomoneda digital, moneda virtual o token. Desde entonces ha ido desarrollandose e implantándose en otras aplicaciones porque se reconoce que es una tecnología con inmensas posibilidades, hasta tal punto que se considera la próxima revolución industrial. La gran mayoría de las aplicaciones de Blockchain están por diseñarse e incluso por imaginarse. Se considera que su impacto será tan grande como la irrupción del PC (1975) e Internet (1993).

La tecnología Blockchain es un salto en la evolución de la red: desde el internet de la información al Internet del valor (Internet of Value, IoV). El internet del valor se basa en el registro digital de transacciones de bienes y servicios entre dos usuarios si necesidad de una tercera entidad de confianza que valide las transacciones. Un valor puede ser dinero, un contrato, un registro de la propiedad, un título académico, etc.

Así como el Internet de la información ha cambiado radicalmente nuestras vidas, se considera que el Internet del valor puede revolucionar nuestra forma de interactuar, relacionarnos y entender el mundo. En definitiva, se trata de nuevo paradigma, un salto conceptual, tecnológico y social.

La tecnología Blockchain esta evolucionando muy rápidamente. Cuando alcance la masa crítica, su expansión será exponencial, como ha ocurrido con los PCs, los teléfonos móviles y la propia Internet. Gobiernos y empresas está en invirtiendo mucho recursos en impulsar están nueva tecnología.

En 2016 se creó el Global Blockchain Forum, una iniciativa de la Chamber of Digital Commerce. En Enero de 2017, el World Economic Forum predijo que para 2025 el 10% del PIB global estará almacenado mediante tecnología Blockchain o tecnología relacionada con ella.


¿Qué es exactamente una cadena de bloques?

Una cadena de bloques es una base de datos en la que se almacenan secuencial y cronológicamente los registros asociados a las transacciones de los valores de los usuarios participantes.
Tipos de Blockchains

Las Blockchains pueden ser públicas (como Internet), privadas (como Intranet) o mixtas. Los bancos y las instituciones financieras apuestan, sobre todo, por las Blockchains privadas. Los gigantes tecnológicos de Internet como los GAFA (Google, Apple, Facebook, Amazon) prefieren las Blockchains públicas.


Bitcoin

El sector financiero ha sido el primero en tomar la iniciativa en la aplicación de la tecnología Blockchain, aunque todo lo demás sectores están explorando todo su potencial.

Todo empezó el 31 de Octubre de 2008 cuando un autor desconocido llamada Satoshi Nakamoto (se supone que es un pseudónimo de una persona o el nombre de un grupo o entidad) publicó un anuncio en la lista de correos de la web www.metzdown.com dedicada a la criptografía. En él se describía un sistema de pagos (transferencia de dinero) que permitía a sus usuarios proteger su identidad mediante el uso de criptografía de clave asimétrica, una base de datos descentralizada y validada por consenso a través de una prueba de trabajo realizada por los nodos del sistema.

Nakamoto público un nuevo protocolo “A peer-to-peer electronic cash system”, usando una criptomoneda llamada “bitcoin”. Una criptomoneda se diferencia de una moneda tradicional en qué ningún gobierno la controla. Bitcoin es una criptomoneda orientada a las transferencias monetarias (nacionales e internacionales), remesas y pagos en general en la compra-venta de bienes y servicios.

En su artículo original, Nakamoto uso las palabras “block” y “chain” separadamente. En 2016 se unieron las dos palabras, lo que contribuyó a potenciar su imagen y su difusion.

El bitcoin se basa en una Blockchain pública. Cualquier persona o entidad puede convertirse en usuario y válidador de las transacciones, y formar parte de la red como un nodo.

Con el bitcoin se creó un estándar de interoperabilidad entre entidades financieras con grandes beneficios: Un bitcoin se divide 1000 milibits y un milibit en 105 satoshis. Por lo tanto, 1 bitcoin son 100 millones de satoshis.

El valor estimado del mercado total de bitcoins se estima entre 5 y 10 mil millones de dólares. La primera transacción que se realizó con bitcoins se produjo el 22 de Mayo de 2010, en la que se ofrecieron 10.000 bitcoins por una pizza. La mayor transacción procesada hasta el momento por la red fue de 150 millones de dólares.

Bitcoin no es una empresa. Es un software de código abierto que cualquiera puede consultar, contribuir o utilizar. Bitcoin es un cambio cultural hacia un mundo descentralizado.


El protocolo Bitcoin

En general, un protocolo de comunicación es un sistema de reglas que permiten que dos o más ordenadores se comuniquen entre sí para transmitir información.

Los nodos de una red Blockchain utilizan el mismo protocolo de comunicación para comunicarse entre sí. Protocolos de comunicación conocidos son TCP/IP (Internet), SMTP (intercambio de correos electrónicos) y HTTP (transferencia de información en la Web). Estos protocolos han permitido crear el Internet de la información. El protocolo Bitcoin abre las puertas a un nuevo protocolo para las comunicaciones descentralizadas.

Hay que diferenciar entre protocolo Bitcoin (con “B” mayúscula) del bitcoin (con “b” minúscula), que es la criptomoneda.

El protocolo Bitcoin fue creado con el objetivo de disponer de un sistema descentralizado de transacciones monetarias que estuviera controlado por una comunidad de usuarios sin la necesidad de una tercera entidad de confianza centralizada. De esta manera se podría prescindir de los bancos comerciales o bancos centrales.

Hacktivismo, cyberpunks y cypherpunks (entre otros movimientos filosóficos y sociales) se encuentran en el origen del protocolo Bitcoin. Buscaban una nueva forma de Internet, mayor libertad, protección de la privacidad y una visión descentralizada de la autoridad y uso del dinero anónimo.

El hacktivismo promueve unas comunicaciones seguras entre personas de distintos países y resistente al espionaje de los gobiernos, así como la libertad expresión, la posibilidad de criticar al sistema establecido sin temor a represalias.

Un cyberpunk es una persona que defiende de forma exacerbada la libertad de expresión, la libertad de información y la privacidad de las comunicaciones. Cree que todo usuario debe tener el poder y el control sobre sus datos y acciones en el mundo digital.

De los cyberpunks derivaron los cypherpunks, que vieron en la criptografía la tecnología para alcanzar esos objetivos en el mundo digital. El ejemplo más representativo o conocido es el movimiento Anonymous.


La criptografía del protocolo Bitcoin

La criptografía es el arte de transformar un mensaje legible en otro ilegible. A este proceso se le denomina “cifrado”, y el proceso contrario es el “descifrado”.

Hay tres tipos de criptografía:
  1. Hashing.
    Se trata de “moler” (“hash” significa picar o moler) un mensaje de cualquier longitud hasta obtener una secuencia de caracteres de longitud fija (el hash). Es una especie de huella digital de un mensaje o documento. El hash se obtiene aplicando una función al contenido del mensaje. Cualquier modificación del contenido hace cambiar el hash resultante. El propósito de un hash no es cifrar el contenido sino comprobar su integridad: verificar que no ha sido alterado.

    La función hash es unidireccional, siendo prácticamente imposible realizar la función inversa. Un ejemplo de este tipo de función es la factorización de números enteros. Multiplicar dos números primos de centenares o miles de cifras es fácil para los ordenadores actuales, pero no se conoce un algoritmo eficiente para invertir la multiplicación (recuperar los dos primos iniciales).

    Las características que debe cumplir una función hash son: 1) eficiencia en la computación; 2) dificultad en obtener el mensaje original; 3) dificultad de que otro mensaje diferente genere el mismo hash.

    El protocolo Bitcoin utiliza la criptografía hash para identificar un bloque de transacciones de forma única.

  2. Criptografía simétrica.
    La criptografía simétrica utiliza una sola clave para cifrado y descifrado. Los algoritmos más usados son de dominio público, por lo que la seguridad reside solo en la clave.

    Una clave y una contraseña no solo mismo. Las claves se suelen generar de forma aleatoria y son largas. Las contraseñas son cortas y están pensadas para que pueden ser memorizadas por las personas.

  3. Criptografía asimétrica o de clave pública.
    Utiliza dos claves: una pública y otra privada. La clave privada la guarda el usuario en secreto, y la pública la conoce todo el mundo.

    Con la clave pública cualquiera puede cifrar los mensajes y solo el destinatario puede descifrarlos con su clave privada. Conociendo la clave privada se puede conocer la clave pública, pero no al revés. Es otro ejemplo de función unidireccional. El algoritmo de clave pública más conocido y utilizado es RSA, que se basa en la multiplicación de dos números primos.
El protocolo Bitcoin combina la tecnología P2P con la criptografía de clave pública. Usa el algoritmo hash SHA-256 (Secure Hash Algorithm de 256 bits). Para incrementar la seguridad, Bitcoin aplica dos veces la función hash, es decir, (SHA-256)2. La clave pública se puede ver como si fuera el número de una cuenta bancaria, y la clave privada como si fuera el PIN secreto.

Como las claves privada y pública tienen un formato complejo, se utilizan direcciones Bitcoin, que tienen un formato más sencillo, cara al usuario. Las direcciones Bitcoin son cadenas de dígitos y letras que se generan a partir de las claves.

Para cada usuario hay una dirección Bitcoin privada y una dirección Bitcoin pública. La dirección Bitcoin privada da acceso a los bitcoins del usuario (y debe mantenerse en secreto). La dirección Bitcoin pública es la destinataria de los bitcoins. Es como una dirección de correo electrónico, pero receptores no de mensajes, sino de dinero. Un usuario puede tener varias direcciones Bitcoin, de la misma forma que puede tener varias direcciones de correo electrónico.


Proceso de transacciones

Una transacción es una estructura de datos que indica una transferencia de una cantidad de bitcoins desde un emisor (propietario de dichos bitcoins) a un destinatario. La transacción está firmada (con su clave privada) por el emisor y va desde su monedero a una dirección Bitcoin del destinatario.

Como las transacciones en Bitcoin son totalmente públicas, cualquier usuario (incluso externo a la red de nodos) puede ver el contenido de una dirección Bitcoin en concreto e incluso el flujo de bitcoins desde el bloque genesis hasta el ultimo bloque generado.

Un monedero es un software que guarda la clave privada de un usuario, la clave pública, así como sus direcciones Bitcoin. El monedero sirve para enviar, recibir y almacenar los bitcoins del usuario. Con un mn monedero se pueden construir transacciones sin conexión a la red y enviarla posteriormente para que se ejecute.

Una transacción consta de de una o más entradas (que son débitos contra una cuenta Bitcoin) y una o más salidas (que son créditos añadidos a una cuenta Bitcoin).

Las nuevas transacciones son difundidas rápidamente por la red Bitcoin desde los monederos de los usuarios y recogidas por los mineros de los nodos de la red, que son los que tienen que validarlas. Cuando son detectadas por los nodos de la red, se añaden a un conjunto temporal de transacciones pendientes de validar.

Un conjunto de transacciones se agrupan en un bloque. Cuando todas ellas se validan, el bloque se confirma añadiéndolo al libro contable distribuido global (la cadena de bloques). El bloque contiene una transacción adicional, que corresponde a la recompensa recibida por el minero, con su propia dirección Bitcoin.

Cada 10 minutos de media, los mineros generan un nuevo bloque que contiene las transacciones que han sido validadas desde el ultimo bloque publicado. Cada minero comienza el proceso de validar un bloque de transacciones tan pronto como recibe el ultimo bloque publicado.

Cada vez que se añade un bloque a la cadena de bloques es una confirmación de los bloques anteriores. Un bloque con 6 o más confirmaciones se considera irrevocable, porque se require una inmensa capacidad de cálculo para recalcular los 6 bloques siguientes. Un bloque es tanto más fiable cuantos más bloques le sigan en la cadena. A medida que aumenta el número de bloques, también aumenta la dificultad de cómputo para cada nuevo bloque y de la cadena en su conjunto.

Añadir sucesivamente bloques a un determinado bloque es como “enterrarlo” bajo los nuevos bloques. Cuanto más profundo está un bloque, más seguro está. Y cuanto más superficial, menos seguro.

Un bloque está formado por una cabecera y un cuerpo. El cuerpo es una agrupación de transacciones. En la cabecera se incluye un sello de tiempo (timestamp) y una huella digital (hash) de la cabecera del bloque anterior.


Clientes Bitcoin

Hay tres tipos de clientes Bitcoin:
  1. Cliente completo (o nodo completo).
    Almacena todas las transacciones Bitcoin (la cadena de bloques), administra los monederos de los usuarios y puede realizar transacciones sobre la red.

  2. Cliente ligero.
    Almacena los monederos de los usuarios, pero depende de terceros para realizar transacciones.

  3. Cliente web.
    Accede a la red Bitcoin a través de navegador web y almacena los monederos de los usuarios en servidores de terceros.

Minar bitcoins

En cualquier sistema monetario tradicional los gobiernos imprime más dinero cuando lo necesitan, sin trabajo. En cambio, los bitcoins se crean con trabajo, con esfuerzo. Miles de ordenadores de todo el mundo minan bitcoins, compitiendo unos con otros. Hoy día esta red de computación es la más potente que existe.

Los bitcoins se crean mediante un proceso denominado “minería”. Este proceso descentraliza la función de emision de monedas sin depender de una entidad central. Minar bitcoins es equivalente a imprimir billetes de las monedas fiduciarias. Los mineros crean nuevos bitcoins con la recompensa obtenida por cada bloque publicado en el libro mayor. La cantidad de bitcoins creados por bloque es fijo, pero disminuye con el tiempo.

Las transacciones se empaquetan en bloques, y los mineros validan los bloques. Este proceso de validación, denominado “prueba de trabajo” require una enorme capacidad de computación. Una vez validado el bloque, se confirma añadiéndolo a la cadena de bloques.

La minería es como un juego competitivo. Es como un sudoku, que es difícil de resolver, pero fácil de verificar. Además, la dificultad se puede ajustar, como el número de filas y columnas y el número de casillas rellenas de un sudoku.

La prueba de trabajo consiste en resolver un problema matemático, que es siempre el mismo. Consiste en encontrar un hash que no haya aparecido previamente y que tenga una estructura determinada. Para ello se ejecuta iterativamente el algoritmo criptográfico SHA-256 que satisfaga el objetivo (target) de dificultad. Este algoritmo utiliza el hash de la cabecera del bloque anterior (el ultimo bloque publicado) y un número aleatorio (nonce) elegido por los mineros (un valor de 32 bits), que únicamente puede utilizarse una vez, para asegurar que cada transacción solo pueda procesarse una vez.

El primer minero que encuentre la solución gana la ronda de competición y a continuación publica el nuevo bloque en el libro mayor (la cadena de bloques), ganando la recompensa (en bitcoins) ofrecida por cada bloque publicado.

Inicialmente (año 2009) y hasta el 2012, la recompensa era de 50 bitcoins por bloque minado. Desde Julio de 2012 hasta el 2016, la recompensa se redujo a 25 bitcoins por bloque. Actualmente la recompensa es de 12, 5 bitcoins por bloque. Este proceso se denomina “halving” (division por dos) y se realiza de forma automática cada 210.000 bloques publicados elevando el nivel de dificultad de validación de los bloques. Como cada 10 minutos aproximadamente se publica un nuevo bloque, el halving tiene lugar cada 4 años y la recompensa tiende a cero. El ultimo bloque que se publique tendrá como recompensa la minima cantidad possible: un satoshi.

Actualmente ya se ha emitido el 75 % de los bitcoins previstos. El número de bitcoins seguirá creciendo hasta un valor límite de 21 millones de monedas, que se estima sucederá hacia el año 2140. Por lo tanto, Bitcoin es un sistema deflacionario.

La solución de Bitcoin con su PoW se puede aplicar también para todo tipo de transacciones, no solo monetarias, para validarlas y confirmarlas sin una entidad central.

El valor del bitcoin se calcula en tiempo real en función de la oferta y la demanda mediante un algoritmo que mide la cantidad de movimientos y transacciones. Como cualquier otra divisa, el bitcoin fluctúa de valor cada segundo.

Existen tres maneras de conseguir bitcoins:
  1. La forma más sencilla es comprarlas a través de la web bitcoin.com o de un cajero automático que permita intercambiar monedas reales por bitcons. Ya existen algunos cajeros de este tipo.

  2. Minar bitcoins.
    Se trata de utilizar una parte de los recursos de nuestro ordenador para resolver un problema matemático complejo.

  3. Intercambiando objetos o trabajo por bitcoins.

Ethereum

Ethereum es una plataforma Blockchain lanzada en el verano de 2014. Fue desarrollada por un ruso-canadiense de 21 años llamado Vitalik Buterin. Es un sistema genérico y distribuido de computación que va más allá de de las transacciones monetarias. Es una red preparada para soportar todo tipo de aplicaciones Blockchain. Tiene capas de software adicionales que hace que sea más genérica que Bitcoin.

Ethereum realmente inauguró el Bitcoin 2.0, o el proyecto Blockchain 2.0. Su moneda se llama ether (ETH), es similar a bitcoin, y también se realizan procesos de minado de bloques. Ether es la segunda criptomoneda más valorada y utilizada del mundo, tras bitcoin. Un ether se divide en unidades más pequeñas llamadas finney, stabo, shannon, babbage, lovelace y wei. Cada unidad vale 1000 veces la siguiente.

Ethereum funciona de manera descentralizada mediante una máquina virtual llamada Ethereum Virtual Machine (EVM) embebida en la implementación de cada nodo. EVM permite a los nodos Ethereum almacenar y procesar datos para realizar transacciones y responder a los eventos del mundo real asociados con los contratos inteligentes.

Ethereum ha creado un lenguaje especial llamado Solidity, un lenguaje híbrido entre Javascript y C++, orientado a contratos inteligentes que se ejecuta en la EVM. Se compila a bytecode y se ejecuta en cada nodo.

Ethereum fue desarrollada con Go y C++. Go es un lenguaje de código abierto que permite crear software de manera simple, fiable y eficiente. C++ es una extension de C que permite programación orientada a objetos.

En Marzo de 2017 se creó la Enterprise Ethereum Alliance (EEA) para coordinar y estandarizar el uso de Ethereum.


Contratos inteligentes

Ethereum permite realizar contratos inteligentes. Un contrato inteligente (smart contract) es un acuerdo entre pares con la capacidad de autoejecutarse de forma automática cuando se cumple una condición o evento previsto en el contrato. Por ejemplo, el pago automático de indemnizaciones, por lo que no habrá necesidad de reclamar nada. Otro ejemplo son los derechos de propiedad intelectual, donde los autores monetizarían los usos de sus creaciones de forma automática

Los contratos inteligentes aportan una nueva vision descentralizada de la economía compartida. Por ejemplo, Uber y Airbnb podrían operar sin gestión centralizada.
Bitcoin vs. Ethereum
Organizaciones autónomas descentralizadas

Una DAO (Decentralized Autonomous Organization) es una DO (Decentralized Organization) en el que las decisiones las toman agentes autónomos automatizados. Una DAO es una empresa que funciona de forma que las reglas del negocio son públicas, además de estar distribuida en los ordenadores de los accionistas.

Una DAO tiene, además de una base de datos descentralizada, tiene aplicaciones descentralizadas (Dapps). Ethereum es un buen ejemplo de DAO.


Ethereum y Ethereum Classic

En Mayo de 2016 se creó un fondo de capital riesgo llamado “The DAO” para el desarrollo de empresas descentralizadas autónomas. Este fondo detectó problemas de seguridad: un hacker encontró una forma de robar varios millones de dólares en ethers. El problema residia en que, cuando se añaden nuevas reglas de consenso, puede haber en los nodos copias no consistentes de la base de datos, es decir, que puede haber diferentes versiones en momentos diferentes. Esto provoca una ramificación (fork) de la cadena de bloques. Esta bifurcación ya ocurrió en Bitcoin debido a un error que permitió a un usuario robar una gran cantidad de bitcoins.

Como consecuencia de este hecho, en Julio de 2016, Ethereum se escindió en dos líneas activas: Ethereum y Ethereum Classic, con dos tipos de cambio diferentes. Ethereum permite ramificaciones. Ethereum Classic rechaza las ramificaciones para preserver la consistencia e inmutabilidad de la cadena de bloques. La criptomoneda de Ethereum Classic es “classic ether” (ETC). Hoy día el precio de ETH es mucho mayor que ETC.


Aplicaciones

Blockchain puede aplicarse a cualquier valor que pueda traducirse en código. Por ejemplo:
Futuro

En en los próximos años la tecnología Blockchain va a jugar un papel importante, pues permitirá realizer transacciones de manera segura entre todos los actores de la cadena de valor.
MENTAL vs. Blockchain

El mundo avanza de manera imparable hacia la digitalización y la integración. La sociedad estará digitalizada e hiperconectada, tanto entre personas como entre máquinas.

Los ciudadanos quieren datos y procesos inteligibles, sencillos, ubicuos e inmediatos. Demandan un nuevo modelo de administración pública más transparente, eficiente, más integrada en la vida diaria, y un modelo descentralizado, más directo de participación ciudadana. Descentralización implica democratización.

Para ello se necesitan sistemas transversales que conecten un gran número de servicios verticales de características muy distintas. Este integración es compleja, pero se simplificaría si todos los sistemas hablan el mismo lenguaje.

Internet democratizó la información. Blockchain democratiza el valor. Ahora se trata de democratizar el lenguaje formal de comunicación con los ordenadores. MENTAL es la propuesta: Blockchain es una tecnología importante, pero es una tecnología más nacida sin una fundamentación común y sin que sea un paso hacia la unificación. La unificación tiene que venir mediante un lenguaje universal que unifique datos y procesos, un lenguaje universal basado en los arquetipos de la conciencia, es decir en la suprema simplicidad conceptual.

Adenda

El código abierto de Bitcoin

Hay que distinguir software de código abierto (open source) de software libre (free software). El software libre permite a los usuarios utilizar, mejorar, adaptar y/o redistribuir el software en su forma original o modificada. El software libre requiere disponer de código abierto, pero lo contrario no es siempre cierto (hay casos en que el software de código abierto no se puede modificar).

El organismo que vela por el reconocimiento de software libre y los límites frente al software de código abierto es el OSI (Open Software Initiative).

La licencia del protocolo Bitcoin es MIT License. Es una licencia de código abierto, libre y copyleft. Copyleft permite distribuir libremente copias y versiones modificadas con los mismos derechos que el software original. Cualquier programador puede revisarlo o crear su propia versión modificada.


Árbol de Merkle

Los bloques de la base de datos Blockchain están enlazados en forma de árbol de Merkle (Merkle hash tree). Un árbol de Merkle es una estructura donde cada nodo interior (nodo no final) es el resultado de aplicar una función hash sobre los valores de los nodos hijos, hasta llegar al nodo raíz. Es una generalización de las cadenas hash (hash chains), En las cadenas hash, el coste de verificación de un elemento es proporcional al número de hash de la cadena. En un árbol de Merkle, el coste es proporcional al logaritmo del número de nodos del árbol.

Los bloques de la cadena de bloques de Bitcoin forman un árbol de Merkle binario. Los bloques se agrupan por pares y se genera un hash por cada bloque. Estos hash se agrupan a su vez en pares y generan un nuevo hash, que a su vez se agrupa con otro, y se repite la operación hasta alcanzar el hash raíz. Por ejemplo, un árbol binario de Merkle de 2 niveles de hash es:


El árbol de Merkle utilizado en Ethereum es más complejo que el de Bitcoin. Cada nodo tiene 16 hijos.


La estructura de un bloque en Blockchain

Un bloque se divide en dos partes: la cabecera y el cuerpo.

La cabecera de un bloque es de 80 bytes y consta de 6 campos:
  1. La version del software que ha generado el bloque.

  2. El hash de la cabecera del bloque anterior (256 bits).

  3. Un timestamp. Sello de tiempo (fecha-hora) de generación del bloque.

  4. El target. Es un parámetro relacionado con el algoritmo Hashcash, es decir, con la dificultad de minado. Marca el valor por debajo del cual debe estar el hash resultante para que sea válido. El número de ceros a la izquierda del hash se regula en función del target, que a su vez se regula (se recalcula) cada 2016 bloques (aproximadamente dos semanas). Cuanto menor es el target, mayor es la dificultad de minado.

  5. El nonce para PoW. Es un número de 32 bits que se incrementa iterativamente hasta encontrar un hash que cumpla con la condición expresada en el parámetro target.

  6. El hash raíz del árbol de Merkle (256 bits).
El cuerpo contiene los datos de la transacción.


El algoritmo Hashcash

Hashcash es un algoritmo inventado por Adam Back en 1997 para combatir el correo basura (spam) y que utiliza Bitcoin como prueba de trabajo para validar bloques de transacciones. Consiste en añadir información adicional en el encabezado del mensaje, de tal manera que el emisor calcule un hash que contenga un cierto número n de bits a cero a la izquierda. Para ello, el emisor tiene que aplicar iterativamente el algoritmo de hash sobre el mensaje original 2n veces de media.

El algoritmo Hashcash tiene como parámetros: el hash del bloque anterior, el hash raíz del árbol de Merkle, el target y el nonce. El hash del nuevo bloque debe ser menor que el target para que el bloque sea aceptado por la red, lo que quiere decir que el hash debe comenzar con un cierto número de ceros. La dificultad de calcular un hash con muchos ceros a la izquierda es muy grande, por lo que deben hacerse numerosos intentos, incrementando cada vez el nonce.

El cuerpo del bloque (las transacciones) se “hashean” indirectamente a través del nodo raíz del árbol de Merkle. Puesto que las transacciones no son hasheadas, hashear un bloque con solo una transacción toma exactamente la misma cantidad de esfuerzo que hashear un bloque con 10.000 transacciones.


Citas

“Blockchain: la tecnología que va a cambiar tu vida” (Guillermo Vega y Olivia López Bueno.

“No se pueden parar cosas como Bitcoin. Estará en todas partes y el mundo tendrá que reajustarse” (John McAfee).

“Toda persona informada necesita conocer Bitcoin porque puede ser uno de los desarrollos más importantes del mundo” (Leon Luow).

“Pienso que las redes descentralizadas será la siguientes gran ola de la tecnología” (Melanie Swan).

“Pienso que Bitcoin tiene el potencial de cambiar el mundo” (Peter Thiel).

“La tecnología Blockchain tiene el potencial para crear nuevos fundamentos para nuestros sistemas económicos y sociales” (Harvard Business Review).

“La red Blockchain es robusta por su simplicidad no estructurada” (Satoshi Nakamoto).

“Bitcoin es un tema difícil de desenmarañar” (Andreas M. Antonopaulos).

“Bitcoin es una red de confianza descentralizada que se extiende más allá del restringido ámbito de las monedas” (Andreas M. Antonopaulos).

“Definimos una moneda electronica como una cadena de firmas digitales” (Satoshi Nakamoto).

“Bitcoin es una hazaña tecnológica” (Bill Gates).

“Bitcoin y las tecnologías Blockchain se están convirtiendo en los pilares fundamentals de construcción para el Internet de próxima generación. Las mejores y más brillantes mentes de Silicon Valley ya están trabajando en ello” (Naval Ravikant, cofundador de AngelList).


Bibliografía